Kameleon-Plus  0.3.2
Macros | Functions
cxform-manual.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <math.h>
#include "cxform.h"
Include dependency graph for cxform-manual.c:

Macros

#define X   0
 
#define Y   1
 
#define Z   2
 
#define M_PI   3.14159265358979323846
 
#define M_PI_2   1.57079632679489661923
 
#define DEGREES_TO_RADIANS   (M_PI / 180.0)
 
#define RADIANS_TO_DEGREES   (180.0 / M_PI)
 
#define sind(x)   sin((x) * DEGREES_TO_RADIANS)
 
#define cosd(x)   cos((x) * DEGREES_TO_RADIANS)
 
#define tand(x)   tan((x) * DEGREES_TO_RADIANS)
 
#define atand(z)   (atan(z) / DEGREES_TO_RADIANS)
 
#define atan2d(y, z)   (atan2(y,z) / DEGREES_TO_RADIANS)
 
#define SECONDS_PER_CENTURY   (86400 * 365.25 * 100)
 
#define NUM_IGRF_YEARS_DEFINED   24
 
#define DUMP_MAT   { int i,j; for (i=0;i<3;i++) { for (j=0;j<3;j++) printf("%15lf ", mat[i][j]); printf("\n"); }}
 

Functions

void mat_times_mat (Mat m1, Mat m2, Mat m_out)
 
void mat_times_vec (Mat m1, Vec v1, Vec v_out)
 
void mat_transpose (Mat m_in, Mat m_out)
 
void hapgood_matrix (const double theta, int axis, Mat mat)
 
double H (const double et)
 
double MJD (const double et)
 
double T0 (const double et)
 
double lambda0 (const double et)
 
double epsilon (const double et)
 
double calcG01 (double fracYearIndex, double fracYear)
 
double calcG11 (double fracYearIndex, double fracYear)
 
double calcH11 (double fracYearIndex, double fracYear)
 
double mag_lon (double et)
 
double mag_lat (double et)
 
void mat_P (const double et, Mat mat)
 
void mat_T1 (const double et, Mat mat)
 
void mat_T2 (const double et, Mat mat)
 
void vec_Qe (double et, Vec Qe)
 
void mat_T3 (const double et, Mat mat)
 
void mat_T4 (const double et, Mat mat)
 
void mat_T5 (const double et, Mat mat)
 
void mat_T6 (const double et, Mat mat)
 
void mat_S1 (const double et, Mat mat)
 
void mat_S2 (const double et, Mat mat)
 
int simple_rotation (const double et, Vec v_in, Vec v_out, Direction d, void(*m)())
 
int j2000_twixt_gei (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gei_twixt_geo (const double et, Vec v_in, Vec v_out, Direction direction)
 
int geo_twixt_mag (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gei_twixt_gse (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gse_twixt_gsm (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gsm_twixt_sm (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gse_twixt_rtn (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gse_twixt_gseq (const double et, Vec v_in, Vec v_out, Direction direction)
 
int gse_twixt_hee (const double et, Vec v_in, Vec v_out, Direction direction)
 
int hae_twixt_hee (const double et, Vec v_in, Vec v_out, Direction direction)
 
int hae_twixt_heeq (const double et, Vec v_in, Vec v_out, Direction direction)
 
double gregorian_calendar_to_jd (int y, int m, int d, int h, int mi, int s)
 
long cxRound (double doub)
 
long date2es (int yyyy, int mm, int dd, int hh, int mm2, int ss)
 

Macro Definition Documentation

#define atan2d (   y,
 
)    (atan2(y,z) / DEGREES_TO_RADIANS)
#define atand (   z)    (atan(z) / DEGREES_TO_RADIANS)
#define cosd (   x)    cos((x) * DEGREES_TO_RADIANS)
#define DEGREES_TO_RADIANS   (M_PI / 180.0)
#define DUMP_MAT   { int i,j; for (i=0;i<3;i++) { for (j=0;j<3;j++) printf("%15lf ", mat[i][j]); printf("\n"); }}
#define M_PI   3.14159265358979323846
#define M_PI_2   1.57079632679489661923
#define NUM_IGRF_YEARS_DEFINED   24
#define RADIANS_TO_DEGREES   (180.0 / M_PI)
#define SECONDS_PER_CENTURY   (86400 * 365.25 * 100)
#define sind (   x)    sin((x) * DEGREES_TO_RADIANS)
#define tand (   x)    tan((x) * DEGREES_TO_RADIANS)
#define X   0
#define Y   1
#define Z   2

Function Documentation

double calcG01 ( double  fracYearIndex,
double  fracYear 
)
double calcG11 ( double  fracYearIndex,
double  fracYear 
)
double calcH11 ( double  fracYearIndex,
double  fracYear 
)
long cxRound ( double  doub)
long date2es ( int  yyyy,
int  mm,
int  dd,
int  hh,
int  mm2,
int  ss 
)

Here is the call graph for this function:

double epsilon ( const double  et)

Here is the call graph for this function:

int gei_twixt_geo ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int gei_twixt_gse ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int geo_twixt_mag ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

double gregorian_calendar_to_jd ( int  y,
int  m,
int  d,
int  h,
int  mi,
int  s 
)
int gse_twixt_gseq ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int gse_twixt_gsm ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int gse_twixt_hee ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int gse_twixt_rtn ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)
int gsm_twixt_sm ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

double H ( const double  et)
int hae_twixt_hee ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

int hae_twixt_heeq ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

void hapgood_matrix ( const double  theta,
int  axis,
Mat  mat 
)
int j2000_twixt_gei ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  direction 
)

Here is the call graph for this function:

double lambda0 ( const double  et)

Here is the call graph for this function:

double mag_lat ( double  et)

Here is the call graph for this function:

double mag_lon ( double  et)

Here is the call graph for this function:

void mat_P ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_S1 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_S2 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T1 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T2 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T3 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T4 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T5 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_T6 ( const double  et,
Mat  mat 
)

Here is the call graph for this function:

void mat_times_mat ( Mat  m1,
Mat  m2,
Mat  m_out 
)
void mat_times_vec ( Mat  m1,
Vec  v1,
Vec  v_out 
)
void mat_transpose ( Mat  m_in,
Mat  m_out 
)
double MJD ( const double  et)
int simple_rotation ( const double  et,
Vec  v_in,
Vec  v_out,
Direction  d,
void(*)()  m 
)

Here is the call graph for this function:

double T0 ( const double  et)
void vec_Qe ( double  et,
Vec  Qe 
)

Here is the call graph for this function: